/**
 * 
 */
package com.gwcloud.leetcode.hot100;

import java.util.Arrays;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;

/**
 * @ClassName   : Leetcode0406 
 * @author      : ganwei 
 * @date        : 2020年5月23日
 * @Description : Leetcode0406 根据身高重建队列
 */
public class Leetcode0406 {
	/**
	 * -解题思路，该题是贪心？？
	 */
    public int[][] reconstructQueue(int[][] people) {
        Arrays.sort(people, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
              // if the heights are equal, compare k-values
              return o1[0] == o2[0] ? o1[1] - o2[1] : o2[0] - o1[0];
            }
        });
        
        List<int[]> output = new LinkedList<>();
        for(int[] p: people){
        	output.add(p[1], p);
        }
        
        int n = people.length;
    	return output.toArray(new int[n][2]);
    }
    /**
     * -主函数
     */
    public static void main(String[] args){
    	
    }
}
